<template>
  <div class="count">
    <h2>当前求和为：{{sum}}，放大10倍后：{{bigSum}}</h2>
    <br>
    <span>作者：{{author}}，大写后：{{upperAuthor}}</span>
    <br><br>
    <select v-model.number="n">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    <button @click="increment">+</button>
    <button @click="decrement">-</button>
    <button @click="jishujia(n)">当前和为奇数再加</button>
    <button @click="dengjia(n)">等一等再加</button>
    <button @click="fuwujia">问问服务器加几</button>
  </div>
</template>

<script>
  import {mapState,mapGetters,mapActions} from 'vuex'

  export default {
    name:'Count',
    data() {
      return {
        n:1,
      }
    },
    computed: {
      ...mapState(['sum','author']),
      ...mapGetters(['bigSum','upperAuthor'])
    },
    methods: {
      increment(){
        //联系用于加的mutation
        this.$store.commit('JIA',this.n)
      },
      decrement(){
        //联系用于加的mutation
        this.$store.commit('JIAN',this.n)
      },


      // 靠我们自己手动的去写：incrementOdd、incrementWait、incrementServer
      /* incrementOdd(){
        // 联系actions中的jishujia方法（联系jishujia这个服务员）
        this.$store.dispatch('jishujia',this.n)
      },
      incrementWait(){
        // 联系actions中的dengjia方法（联系dengjia这个服务员）
        this.$store.dispatch('dengjia',this.n)
      },
      incrementServer(){
        this.$store.dispatch('fuwujia')
      } */

      // ...mapActions({incrementOdd:'jishujia',incrementWait:'dengjia',incrementServer:'fuwujia'})
      ...mapActions(['jishujia','dengjia','fuwujia'])

    },
  }
</script>

<style scoped>
  .count {
    background-color: skyblue;
    padding: 10px;
    box-shadow: 0 0 10px black;
    border-radius: 10px;
  }
  h2 {
    margin-bottom: 0px;
  }
  button {
    margin-left: 10px;
  }
</style>